/** 实体的类型，对应资源文件夹名字 */
export enum EntityTypeEnum {
    actor,
    actor_red,
    actor_yellow,
    actor_blue,
    actor_green,

    enemy_normal,
    enemy_normal_plus,
    enemy_fast,
    enemy_fast_plus,
    enemy_shooter,
    enemy_shooter_plus,
    enemy_soldier,
    enemy_soldier_plus,

    boss_1,
    boss_2,

    /** 散弹枪 */
    weapon1,
    /** 机枪 */
    weapon2,
    /** 双管猎枪 */
    weapon3,
    /** m4a1 */
    weapon4,
    /** uzi冲锋枪 */
    weapon5,
    /** 左轮枪 */
    weapon6,
    /** 黑色手枪 */
    weapon7,
    /** 黄色手枪 */
    weapon8,
    /** 重机枪 */
    weapon9,
    /** awp */
    weapon10,

    bullet1,
    bullet2,
    bullet3,

    /** 命中特效 */
    explosion,

    /** 枪口火焰 */
    gunFire,

    // /** 枪 */
    // enemyGun,
    // /** 冲锋武器 */
    // enemyImpact,

    fontYellow = 32,
    fontRed,
    fontGreen,

    /** 经验球 */
    exp,

    /** 红叉 */
    redX = 36,
    /** 强化血量怪 */
    enemy_support_r = 49,
    /** 回血怪 */
    enemy_support_g,
    /** 强化移速怪 */
    enemy_support_b,
    /** 吸收穿透怪 */
    enemy_shield,
    /** 宝箱怪 */
    enemy_reward,
    /** 反弹怪 */
    enemy_rebound,
    /** 牛 */
    enemy_cattle,
    /** 牛+ */
    enemy_cattle_plus,
    /** 血条 */
    HPBar,
    /** 科技卷轴 */
    scroll,
}

/** 属性 */
export enum AttrTypeEnum {
    /** 当前生命 */
    hpMax = 1,
    /** 防御 */
    defense,
    /** 伤害 */
    damage,
    /** 成长 */
    growth,
    /** 恢复 */
    regeneration,
    /** 击退 */
    knckback,
    /** 射程 */
    range,
    /** 射击速度 */
    fireRate,
    /** 拾取范围 */
    lootRange,
    /** 暴击伤害 */
    critRate,
    /** 暴击概率 */
    critChance,
    /** 移动速度 */
    moveSpeed,
    /** 生命比 */
    hpMaxRate,
    /** 防御值比 */
    defenseRate,
    /** 伤害比 */
    damageRate,
    /** 可携带武器数量 */
    weaponNumber,
    /** 可携带道具数量 */
    propNumber,
    /** 贯穿 */
    penetrate,
    /** 开局经验球数量 */
    startExp,
    /** 重生 */
    rebornNum,
}
/** 状态类型枚举 */
export enum StateTypeEnum {
    idle,
    run,
    none,
    shoot,
    dead,
    /** 冲锋状态 */
    impact,
    /** 蓄力状态 */
    castingTime,
    /** 站立蓄力状态 */
    standCastingTime,
    /** 子弹击中 */
    hit,
    /** 子弹暴击击中 */
    hitCrit,
    /** 死亡并且暴击 */
    deadCrit,
    /** 胜利 */
    win,
    /** 失败 */
    lost,
}

/** 输入类型枚举 */
export enum InputTypeEnum {
    actorMove,
    timePass,
}

export enum ApiMsgEnum {
    /** 用户登录 */
    ApiLogin,
    /** 获取房间列表 */
    ApiRoomList,
    /** 创建房间 */
    ApiRoomCreate,
    /** 加入房间 */
    ApiRoomJoin,
    /** 离开房间 */
    ApiRoomLeave,
    /** 玩家准备 */
    ApiPlayerReady,
    /** 玩家取消准备 */
    ApiPlayerCancelReady,
    /** 游戏开始 */
    ApiGameStart,
    /** 申请断线重连/中途加入游戏 */
    ApiApplyOfflineLaunch,
    /** 中途加入游戏 */
    ApiMidJoinGame,

    /** 向大厅内玩家广播，同步所有房间信息 */
    MsgHallSync,
    /** 向房间内玩家广播，同步所有玩家信息 */
    MsgRoomSync,
    /** 向房间内玩家广播，游戏开始 */
    MsgGameStart,
    /** 同步客户端消息，向服务器发送战斗输入 */
    MsgClientSync,
    /** 服务器转发消息，向客户端发送战斗输入 */
    MsgServerSync,
    /** 游戏状态同步，用于断线重连，中途加入游戏 */
    MsgStateSync,
}

/** 节点状态 */
export enum NodeStatus {
    /** 未激活*/
    Inactive = 0,
    Running,
    Success,
    Failure,
}

/** 中断类型 */
export enum AbortType {
    None,
    LowPriority,
    Self,
    Both,
}

/** 经验球类型 */
export enum ExpTypeEnum {
    exp_green,
    exp_blue,
    exp_purple,
    exp_orange,
    exp_red
}

/** 怪物移动方式 */
export enum EnemyMoveTypeEnum {
    /** 走向玩家 */
    runToActor = 1,
    /** 保持安全距离与玩家 */
    saveToActor = 2,
    /** 随机移动 */
    random = 3,
    /** 自定义移动 */
    custom = 4,
}

/** 怪物类型 */
export enum EnemyTypeEnum {
    /** 普通怪 */
    normal = 1,
    /** 精英怪 */
    elite,
    /** boss */
    boss
}

/** 选择池选项类型 */
export enum SelectPoolTypeEnum {
    weapon = 1,
    prop,
    skill
}

export enum EnemySkillTypeEnum {
    /** 枪 */
    enemyGun,
    /** 冲锋 */
    enemyImpact,
    /** 冲锋 */
    enemyImpactPlus,
    /** 生命恢复光环 */
    recoverHpHalo,
    /** 强化血量 */
    enhancedHP,
    /** 强化移动 */
    enhancedMove,
    /** 死亡掉落奖励 */
    dieReward,
    /** 受伤向四周发射子弹 */
    behitShoot,
    /** 让子弹不再继续穿透 */
    absorbBullet,
    /** 一段时间后产出怪物 */
    incubate,
    /** 死亡后召唤 */
    dieIncubate,
    /** 乱发射子弹 */
    randomShoot,
}

/** 角色技能类型枚举 */
export enum ActorSkillTypeEnum {
    /** 站桩射击 */
    zzsj = 58,
    /** 贴脸射击 */
    tlsj,
    /** 玻璃大炮 */
    bldp,
    /** 同步射击 */
    tbsj,
    /** 经验达人 */
    jydr,
    /** 欺软碰硬 */
    qrpy,
    /** 幸运子弹 */
    xyzd,
    /** 火力不足恐惧症 */
    hlbzkjz,
    /** 不可一世 */
    bkys,
    /** 神勇无谓 */
    syww,
    /** 百战不殆 */
    bzbd,
    /** 生命射击 */
    smsj,
    /** 不动如山 */
    bdrs,
}

/** 关卡类型枚举 */
export enum LevelTypeEnum {
    normal = 0,
    boss = 1
}

/** 分类类型 */
export enum EntityTypeEnum2 {
    /** 其他 */
    other = 0,
    /** 1角色 */
    actor,
    /** 2怪物 */
    enemy,
    /** 3boss */
    boss,
    /** 4武器 */
    weapon,
    /** 5道具 */
    prop,
    /** 6技能道具 */
    skill
}